<#assign object = doc.objects>
package ${object.package}.gwt.client.constants;

public interface Constants extends com.google.gwt.i18n.client.Constants {

<#list object["/objects/object"] as model>
	<#list model.attributes?children as att>
		<#if att.caption[0]??>
			<#list att.caption as cap>
				<#if cap.@language == object.defaultLanguage>
  					<#if cap.@table[0]??>
	@DefaultStringValue("${cap.@table}")
  	@Key("${model.name}.${att.@name[0]!att.@class}.table")
  	String ${model.name?uncap_first}_${att.@name[0]!att.@class}_table();
  					<#else>
  	@DefaultStringValue("${cap.@form}")
  	@Key("${model.name}.${att.@name[0]!att.@class}.table")
  	String ${model.name?uncap_first}_${att.@name[0]!att.@class}_table();
  					</#if>
  	@DefaultStringValue("${cap.@form}")
  	@Key("${model.name}.${att.@name[0]!att.@class}.form")
  	String ${model.name?uncap_first}_${att.@name[0]!att.@class}_form();	
  				</#if>
			</#list>
		<#else>
			<#if att?node_name != "set" && att?node_type == "element">
  	@DefaultStringValue("${att.@name[0]!att.@class}")
  	@Key("${model.name}.${att.@name[0]!att.@class}.table")
  	String ${model.name?uncap_first}_${att.@name[0]!att.@class}_table();
  
  	@DefaultStringValue("${att.@name[0]!att.@class}")
  	@Key("${model.name}.${att.@name[0]!att.@class}.form")
  	String ${model.name?uncap_first}_${att.@name[0]!att.@class}_form();
  			</#if>
  		
  			<#if att?node_name == "set" && att?node_type == "element">
  	@DefaultStringValue("${att.@plural}")
  	@Key("${model.name}.${att.@plural}.table")
  	String ${model.name?uncap_first}_${att.@plural}_table();
  
  	@DefaultStringValue("${att.@plural}")
  	@Key("${model.name}.${att.@plural}.form")
  	String ${model.name?uncap_first}_${att.@plural}_form();
  
  			</#if>
		</#if>
		
		<#if att?node_name == "enum" && att?node_type == "element">
  			<#list att.element as value>
  				<#if value.caption[0]??>
  					<#list value.caption as cap>
  						<#if cap.@language == object.defaultLanguage>
  							<#if cap.@table[0]??>
  	@DefaultStringValue("${cap.@table}")
  	@Key("${model.name}.${att.@class}.${value.@name}.table")
  	String ${model.name?uncap_first}_${att.@class}_${value.@name}_table();
  							<#else>
  	@DefaultStringValue("${cap.@form}")
  	@Key("${model.name}.${att.@class}.${value.@name}.table")
  	String ${model.name?uncap_first}_${att.@class}_${value.@name}_table();
  							</#if>
  	@DefaultStringValue("${cap.@form}")
  	@Key("${model.name}.${att.@class}.${value.@name}.form")
  	String ${model.name?uncap_first}_${att.@class}_${value.@name}_form();
  						</#if>
  					</#list>
  				<#else>
  	@DefaultStringValue("${value.@name}")
  	@Key("${model.name}.${att.@class}.${value.@name}.table")
  	String ${model.name?uncap_first}_${att.@class}_${value.@name}_table();
  
  	@DefaultStringValue("${value.@name}")
  	@Key("${model.name}.${att.@class}.${value.@name}.form")
  	String ${model.name?uncap_first}_${att.@class}_${value.@name}_form();
  				</#if>
  			</#list>
  		</#if>
  
		<#if att.help[0]??>
			<#list att.help as help>
				<#if help.@language == object.defaultLanguage>
  	@DefaultStringValue("${help}")
  	@Key("${model.name}.${att.@name}.help")
  	String ${model.name?uncap_first}_${att.@name}_help();
   
   				</#if>
			</#list>
		</#if>
		
	</#list>
		<#if model.businessRules[0]??>
  			<#list model.businessRules.businessRule as br>
   	/** ${br.@javadoc} */
   				<#assign defaultMessage = "">
   				<#list br.message as message>
   					<#if message.@language == "en">
   						<#assign defaultMessage = message>
   					</#if>
   				</#list>
  	@DefaultStringValue("${defaultMessage}")
  	@Key("${model.name}.businessRule_${br.@number}")
  	String ${model.name?uncap_first}_businessRule_${br.@number}();
  			</#list>
		</#if>
</#list>

}
